/* 
 * File:   Vacina.h
 * Author: thiagojesus
 *
 * Created on May 23, 2012, 8:40 AM
 */

#ifndef VACINA_H
#define	VACINA_H
#include <string>

#include "Doenca.h"
#include "Frasco.h"


class Vacina {
public:
    Vacina(int _ndoenca,int _nfras,std::string _descricao, int _idade, double _preco, Doenca::Listadoe _Listadoe, Frasco::ListaFrasco _fras);
    Vacina(const Vacina& orig);
    virtual ~Vacina();
    Vacina();
    typedef Vacina* Listavac;
    static Vacina* pesquisar(Listavac *p_l,std::string n);
    static void imprimirListavac(Listavac *v);
    static void salvar(Listavac *p_l,int nvac);
    static int carregar(Listavac *vac);
    Doenca::Listadoe getContra() const {
        return contra;
    }

    double getPreco() const {
        return preco;
    }

    int getIdade() const {
        return idade;
    }

    std::string getDescricao() const {
        return descricao;
    }
    void setContra(Doenca::Listadoe contra);
    Frasco::ListaFrasco getFras() const;
    void setNfras(int nfras);
    int getNfras() const;
    void setNdoenca(int ndoenca);
    int getNdoenca() const;

    void setPreco(double preco) {
        this->preco = preco;
    }

    void setDescricao(std::string descricao) {
        this->descricao = descricao;
    }
    Vacina* prox;
private:
    int ndoenca;
    int nfras;
    std::string descricao;
    int idade;
    double preco;
    Doenca::Listadoe contra;
    Frasco::ListaFrasco fras;
};

#endif	/* VACINA_H */

